CONFIG

Section: Protocol Families (4F)
Updated: March 31, 1994
Index Return to Main Contents
 

NAME

config - FlexFAX per-modem server configuration database  

DESCRIPTION

FlexFAX uses a configuration file for each facsimile modem attached to a machine. This file contains information about the modem and about how the facsimile server that services that modem should operate. Configuration files are located in the etc subdirectory and have names of the form config.devid, where devid is an identifier derived from the name of the modem's device file; for example ttym2 for /dev/ttym2, term_10 for /dev/term/10.

Configuration files have a simple format and are entirely ASCII. A configuration parameter is of the form


      tag: value

where a tag identifies a parameter and a value is either a string, number, or boolean value. Comments are introduced by the ``#'' character and extend to the end of the line. String values start at the first non-blank character after the ``:'' and continue to the first non-whitespace character or, if whitespace is to be included, may be enclosed in quote marks (``"''). String values enclosed in quote marks may also use the standard C programming conventions for specifying escape codes; e.g. ``\n'' for a newline character and ``\xxx'' for an octal value. Numeric values are specified according to the C programming conventions (leading ``0x'' for hex, leading ``0'' for octal, otherwise decimal), except for the values of RecvFileMode, LogFileMode, and DeviceMode which are interpreted strictly as octal numbers. Boolean values are case insensitive. For a true value, either ``Yes'' or ``On'' should be used. For a false value, use ``No'' or ``Off''.

The following table itemizes the tags and the expected type of their value. The first part lists items specific to the operation of the server, while the second part has items specific to the servicing of the modem. More detailed information about each item is given below.

Tag                           Type       Default        Description
AdaptiveAnswer                boolean    No             enable adaptive answer of inbound calls
AnswerRotary                  string     any            alternatives for answering calls
AnswerBias                    integer    -              bias to apply to successful rotary answer 
AreaCode                      string     -              local area code
CountryCode                   string     -              local country code
DeviceMode                    octal      0600           protection mode to use for modem device
DialStringRules               string     -              dial string rules file
FAXNumber                     string     -              facsimile modem phone number
GettyArgs                     string     -              arguments passed to getty program
InternationalPrefix           string     -              dialing prefix for international calls
JobReqBusy                    integer    300            requeue interval for BUSY dial result
JobReqNoAnswer                integer    900            requeue interval for NO ANSWER dial result
JobReqNoCarrier               integer    900            requeue interval for NO CARRIER dial result
JobReqOther                   integer    900            requeue interval for ``other'' problems
JobReqProto                   integer    60             requeue interval after fax protocol error
LogFileMode                   octal      0600           protection mode to use session log files
LongDistancePrefix            string     -              dialing prefix for long distance calls
NoCarrierRetrys               integer    1              number of times to retry dialing on ``NO CARRIER''
PollLockWait                  integer    30             polling interval when in ``lock wait'' state (secs)
PollModemWait                 integer    30             polling interval when in ``modem wait'' state (secs)
QualifyTSI                    string     -              file of TSI patterns for qualifying senders
RecvFileMode                  octal      0600           protection mode to use for received facsimile files
RingsBeforeAnswer             integer    0              rings to wait before answering phone
ServerTracing                 integer    0              non-session server tracing
SessionTracing                integer    0              send and receive session tracing
SpeakerVolume                 string     Quiet          volume level for modem speaker
UUCPLockTimeout               integer    4320           time before removing existing UUCP lock file

ModemAnswerCmd                string     A              command for answering phone
ModemAnswerDataBeginCmd       string     -              command for start of answered data call
ModemAnswerDataCmd            string     A              command for answering data call
ModemAnswerFaxBeginCmd        string     -              command for start of answered fax call
ModemAnswerFaxCmd             string     A              command for answering fax call
ModemAnswerResponseTimeout    integer    180000         answer command timeout (ms)
ModemAnswerVoiceBeginCmd      string     -              command for start of answered voice call
ModemAnswerVoiceCmd           string     A              command for answering voice call
ModemBaudRateDelay            integer    0              delay (ms) after setting baud rate
ModemCommaPauseTimeCmd        string     S8=2           command for setting time to pause for ``,'' in dialing string
ModemDialCmd                  string     DT%s           command for dialing (%s for number to dial)
ModemDialResponseTimeout      integer    180000         dialing command timeout (ms)
ModemEchoOffCmd               string     E0             command for disabling command echo
ModemFlowControl              string     XONXOFF        DTE-DCE flow control scheme
ModemFlowControlCmd           string     -              command for setting DTE-DCE flow control
ModemFrameFillOrder           string     LSB2MSB        bit order for HDLC frames
ModemHostFillOrder            string     MSB2LSB        bit order of host
ModemInterPacketDelay         integer    0              delay between modem writes (ms)
ModemMaxPacketSize            integer    16384          max data sent to modem at once
ModemMfrQueryCmd              string     -              command for querying modem manufacturer
ModemModelQueryCmd            string     -              command for querying modem model
ModemNoAutoAnswerCmd          string     S0=0           command for disabling auto-answer
ModemOnHookCmd                string     H0             command for placing phone ``on hook''
ModemPageDoneTimeout          integer    180000         page send/receive timeout (ms)
ModemPageStartTimeout         integer    180000         page send/receive timeout (ms)
ModemRate                     integer    19200          baud rate to use for DCE-DTE communication
ModemRecvFillOrder            string     LSB2MSB        bit order for received facsimile
ModemResetCmds                string     -              additional commands when resetting modem
ModemResetDelay               integer    2600           delay (ms) after sending modem reset commands
ModemResultCodesCmd           string     Q0             command for enabling result codes
ModemRevQueryCmd              string     -              command for querying modem firmware revision
ModemSendFillOrder            string     LSB2MSB        bit order for sending facsimile
ModemSetVolumeCmd             string     see below      commands for setting modem speaker volume level
ModemSetupAACmd               string     -              command for setting up adaptive answer
ModemSetupDCDCmd              string     -              command for setting up DCD handling
ModemSetupDTRCmd              string     -              command for setting up DTR handling
ModemSoftResetCmd             string     Z              command for doing a soft reset
ModemType                     string     -              modem type
ModemVerboseResultsCmd        string     V1             command for enabling verbose result codes
ModemWaitForConnect           boolean    No             force server to wait for ``CONNECT'' response on answer
ModemWaitTimeCmd              string     S7=30          command for setting time to wait for carrier when dialing

FaxT1Timer                    integer    35000          CCITT T.30 T1 timer (ms)
FaxT2Timer                    integer    7000           CCITT T.30 T2 timer (ms)
FaxT4Timer                    integer    3100           CCITT T.30 T4 timer (ms)

Class1Cmd                     string     +FCLASS=1      Class 1: command to enter class 1
Class1FrameOverhead           integer    4              Class 1: extra bytes in a received HDLC frame
Class1RecvAbortOK             integer    100            Class 1: max wait (ms) for ``OK'' after recv abort
Class1RecvIdentTimer          integer    35000          Class 1: max wait (ms) for initial ident frame
Class1TCFResponseDelay        integer    75             Class 1: delay between TCF and ack/nak
Class1SendPPMDelay            integer    75             Class 1: delay before sending post-page message
Class1SendTCFDelay            integer    75             Class 1: delay between sending DCS and TCF
Class1TrainingRecovery        integer    1500           Class 1: delay after failed training

Class2Cmd                     string     +FCLASS=2      Class 2: command to enter class 2/2.0
Class2AbortCmd                string     K              Class 2: command to abort active session
Class2BORCmd                  string     BOR=0          Class 2: command to setup bit order
Class2BUGCmd                  string     BUG=1          Class 2: command to enable HDLC frame tracing
Class2CIGCmd                  string     CIG            Class 2: command to set polling identifier
Class2CRCmd                   string     CR=1           Class 2: command to enable receive capability
Class2CQCmd                   string     -              Class 2: command to setup copy quality parameters
Class2DCCCmd                  string     DCC            Class 2: command to set modem capabilities
Class2DCCQueryCmd             string     DCC=?          Class 2: command to query modem capabilities
Class2DISCmd                  string     DIS            Class 2: command to set session parameters
Class2LIDCmd                  string     LID            Class 2: command to set local identifier string
Class2PHCTOCmd                string     PHCTO=30       Class 2: command to set Phase C timeout parameter
Class2RecvDataTrigger         string     -              Class 2: character to send to trigger recv
Class2RELCmd                  string     -              Class 2: command to enable byte-aligned EOL codes
Class2SPLCmd                  string     SPL            Class 2: command to set polling request
Class2TBCCmd                  string     TBC=0          Class 2: command to enable stream mode
Class2XmitWaitForXON          boolean    No             Class 2: wait for XON before sending facsimile data

Class2Cmd                     string     +FCLASS=2.0    Class 2.0: command to enter class 2/2.0
Class2AbortCmd                string     KS             Class 2.0: command to abort active session
Class2BORCmd                  string     BO=0           Class 2.0: command to setup bit order
Class2BUGCmd                  string     BU=1           Class 2.0: command to enable HDLC frame tracing
Class2CIGCmd                  string     PI             Class 2.0: command to set polling identifier
Class2CRCmd                   string     CR=1           Class 2.0: command to enable receive capability
Class2CQCmd                   string     -              Class 2.0: command to setup copy quality parameters
Class2DCCCmd                  string     CC             Class 2.0: command to set modem capabilities
Class2DCCQueryCmd             string     CC=?           Class 2.0: command to query modem capabilities
Class2DISCmd                  string     IS             Class 2.0: command to set session parameters
Class2LIDCmd                  string     LI             Class 2.0: command to set local identifier string
Class2NRCmd                   string     NR=1,1,1,1     Class 2.0: command to set status reporting
Class2PHCTOCmd                string     CT=30          Class 2.0: command to set Phase C timeout parameter
Class2PIECmd                  string     IE=0           Class 2.0: command to set procedure interrupt handling
Class2RecvDataTrigger         string     -              Class 2.0: character to send to trigger recv
Class2RELCmd                  string     -              Class 2.0: command to enable byte-aligned EOL codes
Class2SPLCmd                  string     SP             Class 2.0: command to set polling request
Class2TBCCmd                  string     PP=0           Class 2.0: command to enable stream mode
Class2XmitWaitForXON          boolean    No             Class 2.0: wait for XON before sending facsimile data
 

SERVER-ORIENTED CONFIGURATION PARAMETERS

These configuration parameters affect the general operation of the fax server.

AdaptiveAnswer
Control whether or not an adaptive answering strategy is used whereby an incoming call is first answered as fax using ModemAnswerFaxCmd and then, if that fails, as data using ModemAnswerDataCmd. If the adaptive answer strategy is not enabled, then calls are answered using the appropriate ModemAnswer*Cmd parameter (normally ModemAnswerCmd for unattended operation). Note that the adaptive answer strategy depends on many factors that limit its usefulness. It typically only works with a Class 1 modem because it is important that the sequence of operations related to answering as fax be completed in a short enough time that a subsequent answer for data be done before the caller times out and hangs up the telephone (for this reason the Class1RecvIdentTimer should be set to a value that is shorter than FaxT1Timer.) Also, note that it is necessary to arrange that the phone be placed on-hook between the two answers; this can typically be done by inserting the appropriate command at the start of ModemAnswerDataCmd.
AnswerRotary
The sequence of answering techniques the server should ``rotate through'' when answer incoming calls. Answering techniques are:

Name      Description
fax       answer a fax call
data      answer a data call
voice     answer a voice call
any       answer a call of any/unknown type

When a call is not answered succesfully, the server advances the rotary to the next specified answering technique. Successful calls do not affect the current answering technique. For example, if AnswerRotary is ``fax data'', then the calls will initially be answered as fax until the first call is received that does not appear to be from a fax machine; after that calls will be answered as if they were from a data modem until the next unsuccessful call; after which they will one again be answered as fax. See also AnswerBias.
AnswerBias
The index into the AnswerRotary list that the server should rotate the list to after each successful incoming phone call. List indices are numbered starting at zero. For example, if AnswerRotary is ``fax data'' and AnswerBias is 1, then after each successful inbound call, the next call will be answered as data.
AreaCode
The local area code in which the facsimile modem resides. This value is used to formulate canonical phone numbers for dialing. It is also used to determine if a phone call is local, in which case any leading long distance dialing information may be stripped off to avoid confusing the local carrier. That is, in the 415 area code (in the United States), dialing 1.415.555.1212 does not work--- one must dial only 555.1212.
CountryCode
The local country code in which the facsimile modem resides. As for AreaCode, this value is used to formulate canonical phone numbers for dialing.
DeviceMode
The file protection mode that the server should set for the modem device file. Note that this value is given in octal. The default value of 0600 implies that only the facsimile user (usually uucp) can access the modem. See also chmod(2).
DialStringRules
The pathname of the file that holds the rules for processing user-specified dial strings; c.f. dialrules(4F). The specified pathname must be relative to the top of the fax server's spooling area; e.g. etc/dialrules.
FAXNumber
The phone number associated with the facsimile modem. If this phone number is not a fully qualified number, the values of AreaCode and CountryCode are used to generate the Caller Subscriber Identification (CSI) that is transmitted to remote machines.
InternationalPrefix
The string to use to place an international phone call. In the United States, this is ``011''.
JobReqBusy
The delay in seconds to wait before retrying a job whose dialing attempt failed with a ``BUSY'' status result.
JobReqNoAnswer
The delay in seconds to wait before retrying a job whose dialing attempt failed with a ``NO ANSWER'' status result.
JobReqNoCarrier
The delay in seconds to wait before retrying a job whose dialing attempt failed with a ``NO CARRIER'' status result.
JobReqOther
The delay in seconds to wait before retrying a job that failed for a reason not already covered by one of the Job* parameters.
JobReqProto
The delay in seconds to wait before retrying a job that failed because of a fax protocol error.
GettyArgs
A string that indicates whether or not the server should invoke the getty(1M) program in response to an incoming call from a data modem. If the string value is not null, then it is interpreted as a set of arguments to pass to the getty program. Before supplying the arguments, the string is first scanned for ``%''-escape sequences: any appearance of ``%l'' is replaced with the tty name and any appearance of ``%s'' is replaced with the serial port speed (in decimal). The ``%'' character can be specified with ``%%''. If the GettyArgs parameter is not specified in the configuration file or if the string value is null, then data connections will be rejected. This facility can also be enabled on the command line to faxd with the -g option (useful if faxd is invoked by the init(1M) process.) Note that in addition to the specified command line arguments, the getty program is invoked with its standard input, output, and error descriptors directed to the controlling tty device.
LogFileMode
The file protection mode that should be used when creating files to hold session logs. Note that this value is given in octal. The default value of 0600 implies that the log files are not generally accessible, which is important if sensitive information such as calling card access codes are logged. If log files are to be publicly accessible, this value may be set, for example, to 0644. See also chmod(2).
LongDistancePrefix
The string to use to place a long distance phone call. In the United States, this is ``1''.
NoCarrierRetrys
The number of times to redial a phone number after receiving a ``NO CARRIER'' result code. In normal operation the fax server will treat this result code to mean that a facsimile modem/machine did not answer the phone and reject the transmit job. This is done to avoid repeatedly dialing wrong phone numbers and depends on the modem automatically distinguishing between no carrier and no answer. However, some modems are not capable of reliably distinguishing between no carrier and no answer, or when instructed to do so do not identify a busy signal correctly. For these modems one may find it necessary to increase the value of this parameter to compensate. It is strongly recommended, however, that this value not be set to a large number.
PollLockWait
When polling for the presence/removal of a UUCP lock file, the time (in seconds) to wait between checks. Lock file polling occurs when the fax server collides with another process using the modem for outbound use.
PollModemWait
The time (in seconds) to wait between checks for a modem to become ready for use, Modem polling occurs when a modem fails to reset cleanly.
QualifyTSI
A string that specifies whether or not the identity of calling facsimile machines should be checked against an access control list before receiving facsimile. If QualifyTSI is non-null, then only messages from facsimile machines identified in the file specified by the string (typically etc/tsi) will be accepted; see tsi(4F). If QualifyTSI is not specified in the configuration file, or the value is null, then all incoming facsimile messages will be accepted.
RecvFileMode
The file protection mode that should be used when creating files to hold incoming facsimile. Note that this value is given in octal. The default value of 0600 implies that only the facsimile user can read received facsimile. If incoming facsimile are to be publicly accessible, this value may be set, for example, to 0644. See also chmod(2).
RingsBeforeAnswer
The number of rings to wait before answering the phone. If this value is set to 0, then the phone will only be answered in response to an explicit ``answer command''; see faxanswer(1M).
ServerTracing
A number that controls the generation of tracing information by a server when not actively sending or receiving facsimile. Tracing is divided into areas that are individually controlled. To enable tracing of multiple areas of operation, the flag associated with each area should be bit-or'd to form the value for this tag.

Flag               Area                    Description
1 (0x0001)         Server Operation        queue management and general operation
2 (0x0002)         FAX Protocol            Group 3 facsimile protocol
4 (0x0004)         Modem Operations        modem hardware manipulation
8 (0x0008)         Modem Communications    comands passed between host and modem
16 (0x0010)        Timeouts                timer operations
32 (0x0020)        Modem Capabilities      modem capabilities
64 (0x0040)        HDLC Frames             binary Group 3 HDLC frames
128 (0x0080)       Binary Modem I/O        binary communication between host and modem
256 (0x0100)       State Transitions       server state transitions
512 (0x0200)       Queue Management        job queue management

For example, to enable tracing of server operations and protocol operations, a value of 1+2=3 should be specified.
SessionTracing
A number that controls the generation of tracing information by a server while sending or receiving facsimile. The number is interpreted identically to ServerTracing. Note that session tracing is placed in log files in the log subdirectory; see log(4F) for more information.
SpeakerVolume
The volume level that the in-modem speaker should be adjusted to while in a non-data transfer mode. The possible values are:

Value       Description
Off         silent
Quiet       almost inaudible
Low         tolerable in privacy
Medium      loud enough to hear in the next room
High        intolerable

Note that the speaker is always turned off once carrier is established.
UUCPLockTimeout
The time in seconds to wait before removing an existing UUCP lock file for which the owner does not exist. If this value is set to 0, then the fax server will never remove an existing lock file.
 

MODEM-ORIENTED CONFIGURATION PARAMETERS

This section lists configuration parameters that are specific to the setup and operation of the modem. All commands are assumed to use the ``Hayes AT-style'' command syntax and should be specified without a leading ``AT''. When multi-line commands are required, enclose the commands with quote marks (``"'') and insert a newline character ``\n'' where lines should be broken. Note however that each line of a multi-line command string is prefixed by a leading ``AT''. An example of a multi-line command string is ``CQ=1\n+FBADMUL=20\n+FBADLIN=10''.

Command strings sent to the modem may include command escapes that force the host to alter the DTE-DCE communication rate and/or the flow control scheme used between the host and modem. The following escape codes are interpreted:

Escape     Effect
<xon>      enable software flow control between DTE and DCE
<rts>      enable hardware flow control between DTE and DCE
<2400>     set the DCE-DTE baud rate to 2400 bps
<4800>     set the DCE-DTE baud rate to 4800 bps
<9600>     set the DCE-DTE baud rate to 9600 bps
<19200>    set the DCE-DTE baud rate to 19200 bps
<38400>    set the DCE-DTE baud rate to 38400 bps
<57600>    set the DCE-DTE baud rate to 57600 bps
<76800>    set the DCE-DTE baud rate to 76800 bps

Note that commands to the left of an escape code are sent to the modem before the associated actions are carried out on the host. This may be important when changing baud rates, as the result code from a command may be returned at the new baud rate.

NB: old versions of the system supported certain configuration parameters that have been subsumed in the modem-oriented parameters described below. Specifically, the ToneDialing, DialPrefix, and UseDialPrefix parameters should be specified through the ModemDialCmd string; the ModemCommaPauseTimeCmd should be used instead of the defunct CommaPauseTime parameter; and the ModemWaitTimeCmd should be used instead of the defunct WaitTimeForCarrier parameter.

NB: previous versions of the system supported certain configuration parameters that have been subsumed by the escape-code mechanism and the ModemAnswer*Cmd parameters: ModemRecvRate and ModemFaxRecvRate should be specified through the ModemAnswerFaxBeginCmd string; the ModemDataRecvRate should be specified through the ModemAnswerDataBeginCmd parameter; and the ModemVoiceRecvRate should be specified through the ModemAnswerVoiceBeginCmd parameter.

ModemAnswerCmd
The command to answer the phone. If possible, this command should generate a result string that identifies whether the incoming call is from a facsimile or data modem. Typically this auto-detection is configured ahead of time; e.g. for Class 2 modems with the ``AT+FAA=1'' command.
The following table describes how the result codes are interpreted by the facsimile server.

Result String      Default          Class 1      Class 2      Class2.0
CONNECT FAX        Fax              -            -            --
CONNECT            Data             Unknown      -            -
NO ANSWER          No Answer        -            -            -
NO CARRIER         No Carrier       -            -            -
NO DIALTONE        No Dialtone      -            -            -
ERROR              Error            -            -            -
FAX                Fax              -            -            -
DATA               Data             -            -            -
+FCON              -                -            Fax          Fax
+FCO               -                -            Fax          Fax
+FDM               -                -            Data         Data
+FHNG:             -                -            Error        Error
VCON               -                -            Voice        Voice

The ``Default'' column indicates the interpretation made for the result string in either class 1 or 2 unless explicitly overridden. The ``Class 1'' column indicates result strings handled specially for modems operating in class 1, the ``Class 2'' column indicates special handling for modems operating in class 2, and the ``Class 2.0'' column indicates special handling for modems operating in class 2.0. Unknown entries imply that interpretation is based on the way in which the call was answered; if answering is done for an explicit call type, that type is assumed, otherwise a Fax call is presumed.

ModemAnswerDataBeginCmd
The command, if specified, to send to the modem once a data connection has been established. The old ModemDataRecvRate parameter can be emulated by specifying a baud rate escape code; e.g. ``<19200>''.
ModemAnswerDataCmd
The command to explicitly answer the phone for a data connection. This command must generate a result string that identifies the incoming call is from a data modem.
ModemAnswerFaxBeginCmd
The command, if specified, to send to the modem once a facsimile connection has been established. The old ModemFaxRecvRate parameter can be emulated by specifying a baud rate escape code; e.g. ``<19200>''.
ModemAnswerFaxCmd
The command to explicitly answer the phone for a facsimile connection. This command must generate a result string that identifies the incoming call is from a facsimile modem.
ModemAnswerVoiceBeginCmd
The command, if specified, to send to the modem once a voice connection has been established. The old ModemFaxVoicevRate parameter can be emulated by specifying a baud rate escape code; e.g. ``<19200>''.
ModemAnswerVoiceCmd
The command to explicitly answer the phone for a voice connection. This command must generate a result string that identifies the incoming call is for voice.
ModemAnswerResponseTimeout
The maximum time, in milliseconds, to wait for a response from the modem after sending ModemAnswerCmd.
ModemBaudRateDelay
The amount of time, in milliseconds, to pause after setting the baud rate on the serial line. This parameter is only needed for hosts where (apparently) setting the serial line parameters does not take effect immediately.
ModemCommaPauseTimeCmd
The command to set the time, in seconds, that the modem should pause when encountering a ``,'' modifier in the dialing string.
ModemDialCmd
The command to place a phone call. The string is assumed to be suitable for use as a parameter to the sprintf(3S) function; so the ``%'' character should be escaped as ``%%''. The dial command must include a single ``%s'' where the number that is to be dialed is to be substituted. Facilities such as tone or pulse dialing, outgoing prefixes to route though a PBX, and so on should be included in the dialing command string. It is also important that, if possible, a trailing ``@'' symbol should be included so that the modem returns result codes that distinguish between no answer and no carrier. Use of the ``@'' permits the server to reduce the probability that a wrong number is continually redialed. If the modem does not support this facility, then it may be necessary to raise the number of retries done when a ``NO CARRIER'' result is returned.
ModemDialResponseTimeout
The maximum time to wait, in milliseconds, for a response from the modem after sending ModemDialCmd.
ModemEchoOffCmd
The command to disable command echo.
ModemFlowControl
The type of flow control to use between DTE and DCE; one of ``XONXOFF'' and ``RTSCTS''. This type must agree with the ModemFlowControlCmd string sent to the modem. For example, if software flow control is to be used, then ModemFlowControl must be set to ``xonxoff'' and the ModemFlowControlCmd string must setup the modem to use XON/XOFF flow control.
The server supports both software and hardware flow control for Class 1, Class 2, and Class 2.0 modems, but only software flow control for the Everex driver. Whether to use hardware or software flow control depends on the capabilities of the modem and the host hardware and operating system. Communication rates above 9600 baud often require that hardware flow control be used for reliable DTE-DCE communication. However, beware that many Class 1 modems only support software flow control.
ModemFlowControlCmd
The command to setup DTE-DCE flow control. The type of flow control must also be reflected in the ModemFlowControl parameter.
ModemFrameFillOrder
The bit ordering to expect for received HDLC frames and to use when formulating HDLC frames to send. This value may be either LSB2MSB when bits are ordered from least-significant-bit to most-significant-bit (as in the CCITT specification) or MSB2LSB when bits are ordered in the reverse direction.
ModemHostFillOrder
The native bit order of the host CPU. This order is MSB2LSB for most non-Intel processors.
ModemInterPacketDelay
A delay, in milliseconds, that should be applied between large data writes to the modem. See also ModemMaxPacketSize.
ModemMaxPacketSize
The maximum number of bytes that should be written to the modem at once. This can be used together with the ModemInterPacketDelay parameter to keep a fast host computer from sending data too quickly to a slow modem.
ModemMfrQueryCmd
The command to send to the modem to get the manufacturer identification string. For Class 2 modems this parameter is initialized to ``+FMFR?''. For Class 2.0 modems this parameter is initialized to ``+FMI?''. If the parameter begins with a ``!'', then the remainder of the string is taken to be the identification string and no command is issued to the modem.
ModemModelQueryCmd
The command to send to the modem to get the model identification. For Class 2 modems this parameter is initialized to ``+FMDL?''. For Class 2.0 modems this parameter is initialized to ``+FMM?''. If the parameter begins with a ``!'', then the remainder of the string is taken to be the identification string and no command is issued to the modem.
ModemNoAutoAnswerCmd
The command to stop the modem from automatically answering when the phone rings.
ModemOnHookCmd
The command to place the phone ``on hook'' (i.e. hangup).
ModemPageDoneTimeout
The maximum time to wait, in milliseconds, for a response from the modem after sending a page of facsimile data (e.g. the time to wait for a response to a Class 2/2.0 AT+FET command).
ModemPageStartTimeout
The maximum time to wait, in milliseconds, for an initial response from the modem when sending a page of facsimile data (e.g. the time to wait for a response to a Class 2/2.0 AT+FDR command).
ModemRate
The baud rate to use for DCE-DTE communication. This value may be one of: 76800, 57600, 38400, 19200, 9600, 4800, 2400, 1200. The default value is 19200 because many modems lock the rate at 19200 when sending or receiving facsimile.
ModemRecvFillOrder
The bit ordering to expect in received facsimile data. This value may be either LSB2MSB when bits are ordered from least-significant-bit to most-significant-bit (as in the CCITT specification) or MSB2LSB when bits are ordered in the reverse direction.
ModemResetCmds
A string of commands to issue to the modem during initialization. This string is sent to the modem before the standard set of configuration commands required by the fax server. Note that these commands should not include normal reset commands that are specified through other parameters. For example, commands to setup flow control, DCD handling, DTR handling, etc. should be specified through the appropriate configuration parameters and not through this parameter. In addition the soft reset command (usually ``Z'') should not be included in this string.
ModemResetDelay
The time, in milliseconds, to pause after resetting a modem either by dropping the DTR signal, or through a software reset command. This parameter should be long enough to permit the modem to do any reset-related processing it requires.
ModemResultCodesCmd
The command to enable result codes.
ModemRevQueryCmd
The command to send to the modem to get a firmware revision identification string. For Class 2 modems this parameter is initialized to ``+FREV?''. For Class 2.0 modems this parameter is initialized to ``+FMR?''. If the parameter begins with a ``!'', then the remainder of the string is taken to be the identification string and no command is issued to the modem.
ModemSendFillOrder
The bit ordering the modem expects for transmitted facsimile data. This value may be either LSB2MSB or MSB2LSB (see also ModemRecvFillOrder above.)
ModemSetVolumeCmd
The commands to use to set the modem speaker volume levels. There should be five whitespace-separated commands, one each for setting the volume to ``Off'', ``Quiet'', ``Low'', ``Medium'', and ``High''; the default is ``"M0 L0M1 L1M1 L2M1 L3M1"''.
ModemSetupAACmd
The command to setup adaptive answer in the modem-if available. Adaptive answer is the term used for the ability to distinguish a call from a facsimile machine/modem from a call from a data modem. Note that this string is the last command issued by the device drivers during setup, so the command string may, if necessary, switch to a different operating mode (e.g. on some Rockwell-based modems it is necessary to issue the ``AT+FAA=1'' command in Class 0).
ModemSetupDCDCmd
The command to setup DCD handling. On most systems the facsimile server will enable the CLOCAL flag on the tty device to which the modem is connected. This should insure that the system does not close an open file descriptor associated with the modem if carrier is dropped. Thus, for most systems and modems ModemSetupDCDCmd should setup DCD to reflect carrier.
ModemSetupDTRCmd
The command to setup DTR handling so that the modem is reset when the DTR signal is lowered by the host. The facsimile server uses this facility to insure that modems are not left in a ``locked up'' state.
ModemSoftResetCmd
The command to force a soft reset.
ModemType
This parameter must be set to one of: ``Class2'', ``Class2.0'', ``Class1'', or ``Abaton''; to indicate that the modem is a Class 2-style modem, Class 2.0-style modem, Class 1-style modem, or an Abaton InterFax 24/96 modem.
ModemVerboseResultsCmd
The command to enable verbose result codes.
ModemWaitForConnect
If enabled, the facsimile server will not consider a connection established when answering an incoming call until a ``CONNECT'' status string is received. This is useful mainly for Rockwell RC32ACL-based modems that send ``FAX'' and ``DATA'' status messages before sending ``CONNECT''.
ModemWaitTimeCmd
The command to set the number of seconds to wait for a carrier signal when placing a call or answering the phone.
 

T.30 PROTOCOL CONFIGURATION PARAMETERS

The following parameters apply to the implementation of the CCITT T.30 facsimile protocol. They should not be changed without full understanding of the operation of the server.

FaxT1Timer
The value of the T1 timer in milliseconds. This timer is used to time out the initial session contact; i.e. receipt of DIS/DCS.
FaxT2Timer
The value of the T2 timer in milliseconds. This timer is used to time out receiving responses and commands.
FaxT4Timer
The value of the T4 timer in milliseconds. This timer is used to time out the reception of HDLC frames and, usually, trigger frame retransmissions.
 

CLASS 1 MODEM CONFIGURATION PARAMETERS

The following parameters are specific to the configuration of Class 1-style modems; they should not be changed lightly:

Class1Cmd
The command to set the modem into class 1 operation.
Class1FrameOverhead
The number of extraneous bytes in HDLC frames sent to the host in response to an ``AT+FRH'' command. For modems that properly implement the Class 1 interface, this number should be 4 (the default).
Class1RecvAbortOK
The time, in milliseconds, to wait for an ``OK'' result code from the modem after aborting an HDLC frame receive (``AT+FRH=3''). If this number is zero, then the modem is assumed to not correctly implement aborting and instead the driver will wait 200ms, flush any input, and then send ``AT\n'' and wait 100ms for an ``OK'' result.
Class1RecvIdentTimer
The time, in milliseconds, to wait for an initial DCS when receiving a facsimile. CCITT recommendation T.30 specifies this as the value of the T1 timer. However, adaptive answering schemes such as that described above under the AdaptiveAnswer parameter require that this timer be shorter.
Class1SendPPMDelay
The time, in milliseconds, to delay between dropping the high speed message carrier and sending the post-page message/command.
Class1SendTCFDelay
The time, in milliseconds, to delay between sending DCS and TCF.
Class1TrainingRecovery
The time, in milliseconds, to delay after a failed training session. This time is used when sending training and when waiting for DCS and subsequent training during receive.
 

CLASS 2 AND 2.0 MODEM CONFIGURATION PARAMETERS

The following parameters are specific to the configuration of Class 2- and Class 2.0-style modems: All commands are assumed to use the Class 2/2.0 AT+F-style'' command syntax and should be specified without a leading ``AT+F'' unless explicitly noted. Multi-line commands are handled as described above. In particular, this means that second and subsequent lines of a multi-line command string are prefixed by a leading ``AT'' and not ``AT+F''; for example, ``CQ=1\n+FBADMUL=20\n+FBADLIN=10''.

Class2Cmd
The command to set the modem into Class 2/2.0 operation. Note that this command is prefixed only with ``AT'' and not with ``AT+F''. This is to permit non-Class 2/2.0 commands to be done before switching classes.
Class2AbortCmd
The command to use to abort an established session. After using this command to abort a session, the fax software will send a ModemOnHookCmd and then reset the modem by dropping DTR .
Class2BORCmd
The command to setup the bit order of sent and received facsimile data. Usually the command ``BOR=0'' is used so that data is sent and received in direct bit order (LSB2MSB). Some modems, such as the Everex 24/96D, must use reversed bit ordering for Phase B and D data exchanges to avoid a bug that results in garbage data being placed in the padding of EOL codes. The bit order specified by this command must correspond to the settings of the ModemFrameFillOrder, ModemSendFillOrder, and ModemRecvFillOrder parameters.
Class2BUGCmd
The command to use to enable the tracing of HDLC frames sent and received by the modem. This tracing information should be returned to the host in ``+FHR:'' and ``+FHT:'' status strings. Note that many Class 2 modems do not support this facility.
Class2CIGCmd
The command used to set a polling identifier. This string is inserted into the format ``AT+F%s="<id>"''.
Class2CRCmd
The command to use to enable the reception of facsimile.
Class2CQCmd
The command to use to set up parameters for copy quality checking. For an Everex 24/96D modem this parameter might be set to ``CQ=1\n+FBADMUL=20\n+FBADLIN=10''.
Class2DCCCmd
The command used to set modem capabilities. This string is inserted into the format ``AT+F%s=vr,br,wd,ln,df,ec,bf,st''.
Class2DCCQueryCmd
The command to send to the modem to get the modem capabilities. If the parameter begins with a ``!'', then the remainder of the string is taken to be the capabilities string and no command is issued to the modem.
Class2DISCmd
The command used to set the current session parameters. This string is inserted into the format ``AT+F%s=vr,br,wd,ln,df,ec,bf,st''.
Class2LIDCmd
The command used to set the local identifier string. This string is inserted into the format ``AT+F%s="<id>"''
Class2NRCmd
(Class 2.0 only.) The command to use to setup status reporting. For the correct operation of the Class 2.0 driver this command must enable the reporting of most status strings.
Class2PHCTOCmd
The command to use to set the Phase C timeout parameter (in seconds).
Class2PIECmd
(Class 2.0 only.) The command to use to control procedure interrupt handling. Procedure interrupts should be disabled because FlexFAX does not provide a mechanism for dispatching procedure interrupts to an administrator.
Class2RecvDataTrigger
The character to send to the modem to trigger the transmission of received data from the modem to the host. This character is specified to be DC1 (octal 21) in the draft specification 2388-A and DC2 (octal 22) in the 2388-B specification. Most Class 2 modems accept DC1 or both DC1 and DC2. Some modems however only accept DC2. Note that string parameters may use C-style escape sequences, so DC2, for example, would be specified as ``"\022"''.
Class2RELCmd
The command to use to enable the delivery of byte-aligned EOL codes in received facsimile. If this parameter is defined, then received facsimile data will be marked to indicate that EOL codes are byte-aligned; otherwise they will be marked as not (necessarily) having byte-aligned codes.
Class2SPLCmd
The command to use to enable a polling request.
Class2TBCCmd
The command to use to enable stream-mode communication between the host and modem.
Class2XmitWaitForXON
Whether or not to wait for an XON character from the modem before sending facsimile data to the modem for transmission. Note that the Class 2.0 specification requires this action while the Class 2 draft specifications that most Class 2 modems conform to do not.
 

SEE ALSO

intro(4F), faxd(1M)


 

Index

NAME
DESCRIPTION
SERVER-ORIENTED CONFIGURATION PARAMETERS
MODEM-ORIENTED CONFIGURATION PARAMETERS
T.30 PROTOCOL CONFIGURATION PARAMETERS
CLASS 1 MODEM CONFIGURATION PARAMETERS
CLASS 2 AND 2.0 MODEM CONFIGURATION PARAMETERS
SEE ALSO

This document was created by man2html, using the manual pages.
Time: 10:15:15 GMT, January 04, 2023